package com.vivo.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CompanyHistoryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CompanyHistoryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNull() {
            addCriterion("Company_Name is null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIsNotNull() {
            addCriterion("Company_Name is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyNameEqualTo(String value) {
            addCriterion("Company_Name =", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotEqualTo(String value) {
            addCriterion("Company_Name <>", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThan(String value) {
            addCriterion("Company_Name >", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
            addCriterion("Company_Name >=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThan(String value) {
            addCriterion("Company_Name <", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLessThanOrEqualTo(String value) {
            addCriterion("Company_Name <=", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameLike(String value) {
            addCriterion("Company_Name like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotLike(String value) {
            addCriterion("Company_Name not like", value, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameIn(List<String> values) {
            addCriterion("Company_Name in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotIn(List<String> values) {
            addCriterion("Company_Name not in", values, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameBetween(String value1, String value2) {
            addCriterion("Company_Name between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyNameNotBetween(String value1, String value2) {
            addCriterion("Company_Name not between", value1, value2, "companyName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameIsNull() {
            addCriterion("Company_English_Name is null");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameIsNotNull() {
            addCriterion("Company_English_Name is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameEqualTo(String value) {
            addCriterion("Company_English_Name =", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameNotEqualTo(String value) {
            addCriterion("Company_English_Name <>", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameGreaterThan(String value) {
            addCriterion("Company_English_Name >", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameGreaterThanOrEqualTo(String value) {
            addCriterion("Company_English_Name >=", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameLessThan(String value) {
            addCriterion("Company_English_Name <", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameLessThanOrEqualTo(String value) {
            addCriterion("Company_English_Name <=", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameLike(String value) {
            addCriterion("Company_English_Name like", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameNotLike(String value) {
            addCriterion("Company_English_Name not like", value, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameIn(List<String> values) {
            addCriterion("Company_English_Name in", values, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameNotIn(List<String> values) {
            addCriterion("Company_English_Name not in", values, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameBetween(String value1, String value2) {
            addCriterion("Company_English_Name between", value1, value2, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyEnglishNameNotBetween(String value1, String value2) {
            addCriterion("Company_English_Name not between", value1, value2, "companyEnglishName");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchIsNull() {
            addCriterion("Company_branch is null");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchIsNotNull() {
            addCriterion("Company_branch is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchEqualTo(String value) {
            addCriterion("Company_branch =", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchNotEqualTo(String value) {
            addCriterion("Company_branch <>", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchGreaterThan(String value) {
            addCriterion("Company_branch >", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchGreaterThanOrEqualTo(String value) {
            addCriterion("Company_branch >=", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchLessThan(String value) {
            addCriterion("Company_branch <", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchLessThanOrEqualTo(String value) {
            addCriterion("Company_branch <=", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchLike(String value) {
            addCriterion("Company_branch like", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchNotLike(String value) {
            addCriterion("Company_branch not like", value, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchIn(List<String> values) {
            addCriterion("Company_branch in", values, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchNotIn(List<String> values) {
            addCriterion("Company_branch not in", values, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchBetween(String value1, String value2) {
            addCriterion("Company_branch between", value1, value2, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyBranchNotBetween(String value1, String value2) {
            addCriterion("Company_branch not between", value1, value2, "companyBranch");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureIsNull() {
            addCriterion("Company_nature is null");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureIsNotNull() {
            addCriterion("Company_nature is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureEqualTo(String value) {
            addCriterion("Company_nature =", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureNotEqualTo(String value) {
            addCriterion("Company_nature <>", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureGreaterThan(String value) {
            addCriterion("Company_nature >", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureGreaterThanOrEqualTo(String value) {
            addCriterion("Company_nature >=", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureLessThan(String value) {
            addCriterion("Company_nature <", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureLessThanOrEqualTo(String value) {
            addCriterion("Company_nature <=", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureLike(String value) {
            addCriterion("Company_nature like", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureNotLike(String value) {
            addCriterion("Company_nature not like", value, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureIn(List<String> values) {
            addCriterion("Company_nature in", values, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureNotIn(List<String> values) {
            addCriterion("Company_nature not in", values, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureBetween(String value1, String value2) {
            addCriterion("Company_nature between", value1, value2, "companyNature");
            return (Criteria) this;
        }

        public Criteria andCompanyNatureNotBetween(String value1, String value2) {
            addCriterion("Company_nature not between", value1, value2, "companyNature");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressIsNull() {
            addCriterion("Register_Address is null");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressIsNotNull() {
            addCriterion("Register_Address is not null");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressEqualTo(String value) {
            addCriterion("Register_Address =", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressNotEqualTo(String value) {
            addCriterion("Register_Address <>", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressGreaterThan(String value) {
            addCriterion("Register_Address >", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressGreaterThanOrEqualTo(String value) {
            addCriterion("Register_Address >=", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressLessThan(String value) {
            addCriterion("Register_Address <", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressLessThanOrEqualTo(String value) {
            addCriterion("Register_Address <=", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressLike(String value) {
            addCriterion("Register_Address like", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressNotLike(String value) {
            addCriterion("Register_Address not like", value, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressIn(List<String> values) {
            addCriterion("Register_Address in", values, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressNotIn(List<String> values) {
            addCriterion("Register_Address not in", values, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressBetween(String value1, String value2) {
            addCriterion("Register_Address between", value1, value2, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andRegisterAddressNotBetween(String value1, String value2) {
            addCriterion("Register_Address not between", value1, value2, "registerAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressIsNull() {
            addCriterion("Mailing_Address is null");
            return (Criteria) this;
        }

        public Criteria andMailingAddressIsNotNull() {
            addCriterion("Mailing_Address is not null");
            return (Criteria) this;
        }

        public Criteria andMailingAddressEqualTo(String value) {
            addCriterion("Mailing_Address =", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressNotEqualTo(String value) {
            addCriterion("Mailing_Address <>", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressGreaterThan(String value) {
            addCriterion("Mailing_Address >", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressGreaterThanOrEqualTo(String value) {
            addCriterion("Mailing_Address >=", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressLessThan(String value) {
            addCriterion("Mailing_Address <", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressLessThanOrEqualTo(String value) {
            addCriterion("Mailing_Address <=", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressLike(String value) {
            addCriterion("Mailing_Address like", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressNotLike(String value) {
            addCriterion("Mailing_Address not like", value, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressIn(List<String> values) {
            addCriterion("Mailing_Address in", values, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressNotIn(List<String> values) {
            addCriterion("Mailing_Address not in", values, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressBetween(String value1, String value2) {
            addCriterion("Mailing_Address between", value1, value2, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andMailingAddressNotBetween(String value1, String value2) {
            addCriterion("Mailing_Address not between", value1, value2, "mailingAddress");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeIsNull() {
            addCriterion("Business_Scope is null");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeIsNotNull() {
            addCriterion("Business_Scope is not null");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeEqualTo(String value) {
            addCriterion("Business_Scope =", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeNotEqualTo(String value) {
            addCriterion("Business_Scope <>", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeGreaterThan(String value) {
            addCriterion("Business_Scope >", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeGreaterThanOrEqualTo(String value) {
            addCriterion("Business_Scope >=", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeLessThan(String value) {
            addCriterion("Business_Scope <", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeLessThanOrEqualTo(String value) {
            addCriterion("Business_Scope <=", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeLike(String value) {
            addCriterion("Business_Scope like", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeNotLike(String value) {
            addCriterion("Business_Scope not like", value, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeIn(List<String> values) {
            addCriterion("Business_Scope in", values, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeNotIn(List<String> values) {
            addCriterion("Business_Scope not in", values, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeBetween(String value1, String value2) {
            addCriterion("Business_Scope between", value1, value2, "businessScope");
            return (Criteria) this;
        }

        public Criteria andBusinessScopeNotBetween(String value1, String value2) {
            addCriterion("Business_Scope not between", value1, value2, "businessScope");
            return (Criteria) this;
        }

        public Criteria andCompanyCardIsNull() {
            addCriterion("Company_card is null");
            return (Criteria) this;
        }

        public Criteria andCompanyCardIsNotNull() {
            addCriterion("Company_card is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyCardEqualTo(String value) {
            addCriterion("Company_card =", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardNotEqualTo(String value) {
            addCriterion("Company_card <>", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardGreaterThan(String value) {
            addCriterion("Company_card >", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardGreaterThanOrEqualTo(String value) {
            addCriterion("Company_card >=", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardLessThan(String value) {
            addCriterion("Company_card <", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardLessThanOrEqualTo(String value) {
            addCriterion("Company_card <=", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardLike(String value) {
            addCriterion("Company_card like", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardNotLike(String value) {
            addCriterion("Company_card not like", value, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardIn(List<String> values) {
            addCriterion("Company_card in", values, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardNotIn(List<String> values) {
            addCriterion("Company_card not in", values, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardBetween(String value1, String value2) {
            addCriterion("Company_card between", value1, value2, "companyCard");
            return (Criteria) this;
        }

        public Criteria andCompanyCardNotBetween(String value1, String value2) {
            addCriterion("Company_card not between", value1, value2, "companyCard");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNull() {
            addCriterion("Source_Create_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIsNotNull() {
            addCriterion("Source_Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateEqualTo(Date value) {
            addCriterion("Source_Create_date =", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotEqualTo(Date value) {
            addCriterion("Source_Create_date <>", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThan(Date value) {
            addCriterion("Source_Create_date >", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date >=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThan(Date value) {
            addCriterion("Source_Create_date <", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_Create_date <=", value, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateIn(List<Date> values) {
            addCriterion("Source_Create_date in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotIn(List<Date> values) {
            addCriterion("Source_Create_date not in", values, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_Create_date not between", value1, value2, "sourceCreateDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNull() {
            addCriterion("Source_lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIsNotNull() {
            addCriterion("Source_lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateEqualTo(Date value) {
            addCriterion("Source_lastModify_date =", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotEqualTo(Date value) {
            addCriterion("Source_lastModify_date <>", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThan(Date value) {
            addCriterion("Source_lastModify_date >", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date >=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThan(Date value) {
            addCriterion("Source_lastModify_date <", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("Source_lastModify_date <=", value, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateIn(List<Date> values) {
            addCriterion("Source_lastModify_date in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotIn(List<Date> values) {
            addCriterion("Source_lastModify_date not in", values, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("Source_lastModify_date not between", value1, value2, "sourceLastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserIsNull() {
            addCriterion("Source_AddUser is null");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserIsNotNull() {
            addCriterion("Source_AddUser is not null");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserEqualTo(String value) {
            addCriterion("Source_AddUser =", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserNotEqualTo(String value) {
            addCriterion("Source_AddUser <>", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserGreaterThan(String value) {
            addCriterion("Source_AddUser >", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserGreaterThanOrEqualTo(String value) {
            addCriterion("Source_AddUser >=", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserLessThan(String value) {
            addCriterion("Source_AddUser <", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserLessThanOrEqualTo(String value) {
            addCriterion("Source_AddUser <=", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserLike(String value) {
            addCriterion("Source_AddUser like", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserNotLike(String value) {
            addCriterion("Source_AddUser not like", value, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserIn(List<String> values) {
            addCriterion("Source_AddUser in", values, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserNotIn(List<String> values) {
            addCriterion("Source_AddUser not in", values, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserBetween(String value1, String value2) {
            addCriterion("Source_AddUser between", value1, value2, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceAdduserNotBetween(String value1, String value2) {
            addCriterion("Source_AddUser not between", value1, value2, "sourceAdduser");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("Source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("Source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("Source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("Source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("Source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("Source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("Source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("Source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("Source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("Source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("Source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("Source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("Source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("Source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("Remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("Remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("Remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("Remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("Remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("Remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("Remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("Remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("Remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("Remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("Remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("Remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("Remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("Remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("Create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("Create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("Create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("Create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("Create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("Create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("Create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("Create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNull() {
            addCriterion("lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNotNull() {
            addCriterion("lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateEqualTo(Date value) {
            addCriterion("lastModify_date =", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotEqualTo(Date value) {
            addCriterion("lastModify_date <>", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThan(Date value) {
            addCriterion("lastModify_date >", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("lastModify_date >=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThan(Date value) {
            addCriterion("lastModify_date <", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("lastModify_date <=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIn(List<Date> values) {
            addCriterion("lastModify_date in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotIn(List<Date> values) {
            addCriterion("lastModify_date not in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("lastModify_date between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("lastModify_date not between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_user is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_user =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_user <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_user >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_user >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_user <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_user <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_user like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_user not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_user in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_user not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_user between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_user not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}